package com.itjin.health.domain.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalTime;
import java.time.LocalDateTime;

@Data
@TableName("online_assessment_appointments")
public class OnlineAssessmentAppointment implements Serializable {

  private static final long serialVersionUID = 1L;

  /**
   * 预约ID
   */
  @TableId(value = "id", type = IdType.AUTO)
  private Integer id;

  /**
   * 伤情报告ID
   */
  private Integer reportId;

  /**
   * 学生ID
   */
  private Integer studentId;

  /**
   * 分配的教师ID
   */
  private Integer teacherId;

  /**
   * 预约日期
   */
  private LocalDate appointmentDate;

  /**
   * 预约时间
   */
  private LocalTime appointmentTime;

  /**
   * 预计时长(分钟)
   */
  private Integer duration;

  /**
   * 会议链接
   */
  private String meetingUrl;

  /**
   * 会议ID
   */
  private String meetingId;

  /**
   * 会议密码
   */
  private String meetingPassword;

  /**
   * 会议平台
   */
  private String platform;

  /**
   * 预约状态
   */
  private String status;

  /**
   * 学生备注
   */
  private String studentNote;

  /**
   * 教师反馈
   */
  private String teacherFeedback;

  /**
   * 拒绝原因
   */
  private String rejectReason;

  /**
   * 创建时间
   */
  @TableField(fill = FieldFill.INSERT)
  private LocalDateTime createdAt;

  /**
   * 更新时间
   */
  @TableField(fill = FieldFill.INSERT_UPDATE)
  private LocalDateTime updatedAt;
}